/* 
** (Copyright) sejishikong <sejishikong@263.net>
** Authors:    sejishikong <sejishikong@263.net>
**             Wei Lian <lianwei2003.student@sina.com> 
** Maintainer: Wei Lian
**    This program is free software; you can redistribute it and/or modify
**    it under the terms of the GNU General Public License Version 2 as
**    published by the Free Software Foundation;
**
**    This program is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with this program; if not, write to the Free Software
**    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
*/

#include "mystatusbar.h"
#include "mainwindow.h"
#include "fork.h"
#include <qlabel.h>

enum {
    CONNECT,
    HOOK
};

MyStatusBar::MyStatusBar(QWidget * parent,
			 const char *name):QStatusBar(parent, name)
{
    message_label[0] = new QLabel(this);
    addWidget(message_label[0], 1, 0);
    for (int i = 1; i < 6; i++) {
	message_label[i] = new QLabel(this);
	message_label[i]->hide();
    }

    flag_state = CONNECT;
}

//-----------------------------------------------------------------
void MyStatusBar::showMessage(QString str)
{
    if (flag_state == HOOK) {
	for (int i = 1; i < 6; i++) {
	    removeWidget(message_label[i]);
	    message_label[i]->hide();
	}
	flag_state = CONNECT;
    }
    message_label[0]->setText(str);
}

void MyStatusBar::showMessage(QString str[6])
{
    if (flag_state == CONNECT) {
	for (int i = 1; i < 6; i++) {
	    addWidget(message_label[i], 1, 0);
	    message_label[i]->show();
	}
	flag_state = HOOK;
    }
    for (int i = 0; i < 6; i++)
	message_label[i]->setText(str[i]);

}

//-----------------------------------------------------------------
void MyStatusBar::mousePressEvent(QMouseEvent *)
{
    message(((Sopcast *) parentWidget())->fork->channelname);
}

void MyStatusBar::mouseReleaseEvent(QMouseEvent *)
{
    clear();
}


void MyStatusBar::leaveEvent(QEvent *)
{
    clear();
}
